// 哈希表
// 通常在无序的数组中 快速查找元素 需要用到哈希表
// 使用数组模拟简易哈希表
// 可以将问题转化成找一个数就可以用哈希表

// 例题 3：
//给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ，返回 true ；如果数组中每个元素互不相同，返回 false 。
//
//        示例 1：
//
//        输入：nums = [1,2,3,1]
//
//        输出：true
//
//        解释：
//
//        元素 1 在下标 0 和 3 出现。
//
//        示例 2：
//
//        输入：nums = [1,2,3,4]
//
//        输出：false
//
//        解释：
//
//        所有元素都不同。
//
//        示例 3：
//
//        输入：nums = [1,1,1,3,3,4,3,2,4,2]
//
//        输出：true
//
//        提示：
//
//        1 <= nums.length <= 105
//        -109 <= nums[i] <= 109

// 解题思路：
// 借助哈希表判断是否有重复元素即可

import java.util.HashSet;
import java.util.Set;

public class ContainsDuplicate {
    public boolean containsDuplicate(int[] nums) {
        int n = nums.length;
        Set<Integer> set = new HashSet<>();
        for(int i = 0; i < n; i++){
            if(set.contains(nums[i])) return true;
            set.add(nums[i]);
        }
        return false;
    }
}
